package cn.javass.dp.decorator.example1;


/**
 * 装饰接口，维持一个指向组件对象的接口，并定义一个与组件接口一致的接口
 */
public abstract class Decorator extends Component {

    protected Component component;

    public Decorator(Component component) {
        this.component = component;
    }

    @Override
    public void operation() {
        //转发请求给组件对象，可以在转发前后执行一些附加操作
        System.out.println("begin-------");
        component.operation();
        System.out.println("end------");
    }
}
